package www.woniuxy.com.class112.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class IssuesExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public IssuesExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIssueNumberIsNull() {
            addCriterion("issue_number is null");
            return (Criteria) this;
        }

        public Criteria andIssueNumberIsNotNull() {
            addCriterion("issue_number is not null");
            return (Criteria) this;
        }

        public Criteria andIssueNumberEqualTo(Long value) {
            addCriterion("issue_number =", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberNotEqualTo(Long value) {
            addCriterion("issue_number <>", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberGreaterThan(Long value) {
            addCriterion("issue_number >", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberGreaterThanOrEqualTo(Long value) {
            addCriterion("issue_number >=", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberLessThan(Long value) {
            addCriterion("issue_number <", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberLessThanOrEqualTo(Long value) {
            addCriterion("issue_number <=", value, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberIn(List<Long> values) {
            addCriterion("issue_number in", values, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberNotIn(List<Long> values) {
            addCriterion("issue_number not in", values, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberBetween(Long value1, Long value2) {
            addCriterion("issue_number between", value1, value2, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andIssueNumberNotBetween(Long value1, Long value2) {
            addCriterion("issue_number not between", value1, value2, "issueNumber");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andIssueTypeIsNull() {
            addCriterion("issue_type is null");
            return (Criteria) this;
        }

        public Criteria andIssueTypeIsNotNull() {
            addCriterion("issue_type is not null");
            return (Criteria) this;
        }

        public Criteria andIssueTypeEqualTo(Long value) {
            addCriterion("issue_type =", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeNotEqualTo(Long value) {
            addCriterion("issue_type <>", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeGreaterThan(Long value) {
            addCriterion("issue_type >", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeGreaterThanOrEqualTo(Long value) {
            addCriterion("issue_type >=", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeLessThan(Long value) {
            addCriterion("issue_type <", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeLessThanOrEqualTo(Long value) {
            addCriterion("issue_type <=", value, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeIn(List<Long> values) {
            addCriterion("issue_type in", values, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeNotIn(List<Long> values) {
            addCriterion("issue_type not in", values, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeBetween(Long value1, Long value2) {
            addCriterion("issue_type between", value1, value2, "issueType");
            return (Criteria) this;
        }

        public Criteria andIssueTypeNotBetween(Long value1, Long value2) {
            addCriterion("issue_type not between", value1, value2, "issueType");
            return (Criteria) this;
        }

        public Criteria andTimeIsNull() {
            addCriterion("`time` is null");
            return (Criteria) this;
        }

        public Criteria andTimeIsNotNull() {
            addCriterion("`time` is not null");
            return (Criteria) this;
        }

        public Criteria andTimeEqualTo(Date value) {
            addCriterion("`time` =", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotEqualTo(Date value) {
            addCriterion("`time` <>", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThan(Date value) {
            addCriterion("`time` >", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("`time` >=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThan(Date value) {
            addCriterion("`time` <", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeLessThanOrEqualTo(Date value) {
            addCriterion("`time` <=", value, "time");
            return (Criteria) this;
        }

        public Criteria andTimeIn(List<Date> values) {
            addCriterion("`time` in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotIn(List<Date> values) {
            addCriterion("`time` not in", values, "time");
            return (Criteria) this;
        }

        public Criteria andTimeBetween(Date value1, Date value2) {
            addCriterion("`time` between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andTimeNotBetween(Date value1, Date value2) {
            addCriterion("`time` not between", value1, value2, "time");
            return (Criteria) this;
        }

        public Criteria andIssueSourceIsNull() {
            addCriterion("issue_source is null");
            return (Criteria) this;
        }

        public Criteria andIssueSourceIsNotNull() {
            addCriterion("issue_source is not null");
            return (Criteria) this;
        }

        public Criteria andIssueSourceEqualTo(Long value) {
            addCriterion("issue_source =", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceNotEqualTo(Long value) {
            addCriterion("issue_source <>", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceGreaterThan(Long value) {
            addCriterion("issue_source >", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceGreaterThanOrEqualTo(Long value) {
            addCriterion("issue_source >=", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceLessThan(Long value) {
            addCriterion("issue_source <", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceLessThanOrEqualTo(Long value) {
            addCriterion("issue_source <=", value, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceIn(List<Long> values) {
            addCriterion("issue_source in", values, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceNotIn(List<Long> values) {
            addCriterion("issue_source not in", values, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceBetween(Long value1, Long value2) {
            addCriterion("issue_source between", value1, value2, "issueSource");
            return (Criteria) this;
        }

        public Criteria andIssueSourceNotBetween(Long value1, Long value2) {
            addCriterion("issue_source not between", value1, value2, "issueSource");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleIsNull() {
            addCriterion("resolve_people is null");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleIsNotNull() {
            addCriterion("resolve_people is not null");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleEqualTo(Long value) {
            addCriterion("resolve_people =", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleNotEqualTo(Long value) {
            addCriterion("resolve_people <>", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleGreaterThan(Long value) {
            addCriterion("resolve_people >", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleGreaterThanOrEqualTo(Long value) {
            addCriterion("resolve_people >=", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleLessThan(Long value) {
            addCriterion("resolve_people <", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleLessThanOrEqualTo(Long value) {
            addCriterion("resolve_people <=", value, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleIn(List<Long> values) {
            addCriterion("resolve_people in", values, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleNotIn(List<Long> values) {
            addCriterion("resolve_people not in", values, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleBetween(Long value1, Long value2) {
            addCriterion("resolve_people between", value1, value2, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andResolvePeopleNotBetween(Long value1, Long value2) {
            addCriterion("resolve_people not between", value1, value2, "resolvePeople");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andIssueStateIsNull() {
            addCriterion("issue_state is null");
            return (Criteria) this;
        }

        public Criteria andIssueStateIsNotNull() {
            addCriterion("issue_state is not null");
            return (Criteria) this;
        }

        public Criteria andIssueStateEqualTo(Long value) {
            addCriterion("issue_state =", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateNotEqualTo(Long value) {
            addCriterion("issue_state <>", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateGreaterThan(Long value) {
            addCriterion("issue_state >", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateGreaterThanOrEqualTo(Long value) {
            addCriterion("issue_state >=", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateLessThan(Long value) {
            addCriterion("issue_state <", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateLessThanOrEqualTo(Long value) {
            addCriterion("issue_state <=", value, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateIn(List<Long> values) {
            addCriterion("issue_state in", values, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateNotIn(List<Long> values) {
            addCriterion("issue_state not in", values, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateBetween(Long value1, Long value2) {
            addCriterion("issue_state between", value1, value2, "issueState");
            return (Criteria) this;
        }

        public Criteria andIssueStateNotBetween(Long value1, Long value2) {
            addCriterion("issue_state not between", value1, value2, "issueState");
            return (Criteria) this;
        }

        public Criteria andDetailIdIsNull() {
            addCriterion("detail_id is null");
            return (Criteria) this;
        }

        public Criteria andDetailIdIsNotNull() {
            addCriterion("detail_id is not null");
            return (Criteria) this;
        }

        public Criteria andDetailIdEqualTo(Long value) {
            addCriterion("detail_id =", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdNotEqualTo(Long value) {
            addCriterion("detail_id <>", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdGreaterThan(Long value) {
            addCriterion("detail_id >", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdGreaterThanOrEqualTo(Long value) {
            addCriterion("detail_id >=", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdLessThan(Long value) {
            addCriterion("detail_id <", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdLessThanOrEqualTo(Long value) {
            addCriterion("detail_id <=", value, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdIn(List<Long> values) {
            addCriterion("detail_id in", values, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdNotIn(List<Long> values) {
            addCriterion("detail_id not in", values, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdBetween(Long value1, Long value2) {
            addCriterion("detail_id between", value1, value2, "detailId");
            return (Criteria) this;
        }

        public Criteria andDetailIdNotBetween(Long value1, Long value2) {
            addCriterion("detail_id not between", value1, value2, "detailId");
            return (Criteria) this;
        }

        public Criteria andImageUrlIsNull() {
            addCriterion("image_url is null");
            return (Criteria) this;
        }

        public Criteria andImageUrlIsNotNull() {
            addCriterion("image_url is not null");
            return (Criteria) this;
        }

        public Criteria andImageUrlEqualTo(String value) {
            addCriterion("image_url =", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlNotEqualTo(String value) {
            addCriterion("image_url <>", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlGreaterThan(String value) {
            addCriterion("image_url >", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlGreaterThanOrEqualTo(String value) {
            addCriterion("image_url >=", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlLessThan(String value) {
            addCriterion("image_url <", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlLessThanOrEqualTo(String value) {
            addCriterion("image_url <=", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlLike(String value) {
            addCriterion("image_url like", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlNotLike(String value) {
            addCriterion("image_url not like", value, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlIn(List<String> values) {
            addCriterion("image_url in", values, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlNotIn(List<String> values) {
            addCriterion("image_url not in", values, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlBetween(String value1, String value2) {
            addCriterion("image_url between", value1, value2, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andImageUrlNotBetween(String value1, String value2) {
            addCriterion("image_url not between", value1, value2, "imageUrl");
            return (Criteria) this;
        }

        public Criteria andAgentIdIsNull() {
            addCriterion("agent_id is null");
            return (Criteria) this;
        }

        public Criteria andAgentIdIsNotNull() {
            addCriterion("agent_id is not null");
            return (Criteria) this;
        }

        public Criteria andAgentIdEqualTo(Long value) {
            addCriterion("agent_id =", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdNotEqualTo(Long value) {
            addCriterion("agent_id <>", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdGreaterThan(Long value) {
            addCriterion("agent_id >", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdGreaterThanOrEqualTo(Long value) {
            addCriterion("agent_id >=", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdLessThan(Long value) {
            addCriterion("agent_id <", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdLessThanOrEqualTo(Long value) {
            addCriterion("agent_id <=", value, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdIn(List<Long> values) {
            addCriterion("agent_id in", values, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdNotIn(List<Long> values) {
            addCriterion("agent_id not in", values, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdBetween(Long value1, Long value2) {
            addCriterion("agent_id between", value1, value2, "agentId");
            return (Criteria) this;
        }

        public Criteria andAgentIdNotBetween(Long value1, Long value2) {
            addCriterion("agent_id not between", value1, value2, "agentId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Long value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Long value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Long value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Long value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Long> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Long> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Long value1, Long value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andCancelStatusIsNull() {
            addCriterion("cancel_status is null");
            return (Criteria) this;
        }

        public Criteria andCancelStatusIsNotNull() {
            addCriterion("cancel_status is not null");
            return (Criteria) this;
        }

        public Criteria andCancelStatusEqualTo(Long value) {
            addCriterion("cancel_status =", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusNotEqualTo(Long value) {
            addCriterion("cancel_status <>", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusGreaterThan(Long value) {
            addCriterion("cancel_status >", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusGreaterThanOrEqualTo(Long value) {
            addCriterion("cancel_status >=", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusLessThan(Long value) {
            addCriterion("cancel_status <", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusLessThanOrEqualTo(Long value) {
            addCriterion("cancel_status <=", value, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusIn(List<Long> values) {
            addCriterion("cancel_status in", values, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusNotIn(List<Long> values) {
            addCriterion("cancel_status not in", values, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusBetween(Long value1, Long value2) {
            addCriterion("cancel_status between", value1, value2, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelStatusNotBetween(Long value1, Long value2) {
            addCriterion("cancel_status not between", value1, value2, "cancelStatus");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNull() {
            addCriterion("cancel_reason is null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIsNotNull() {
            addCriterion("cancel_reason is not null");
            return (Criteria) this;
        }

        public Criteria andCancelReasonEqualTo(String value) {
            addCriterion("cancel_reason =", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotEqualTo(String value) {
            addCriterion("cancel_reason <>", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThan(String value) {
            addCriterion("cancel_reason >", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonGreaterThanOrEqualTo(String value) {
            addCriterion("cancel_reason >=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThan(String value) {
            addCriterion("cancel_reason <", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLessThanOrEqualTo(String value) {
            addCriterion("cancel_reason <=", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonLike(String value) {
            addCriterion("cancel_reason like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotLike(String value) {
            addCriterion("cancel_reason not like", value, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonIn(List<String> values) {
            addCriterion("cancel_reason in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotIn(List<String> values) {
            addCriterion("cancel_reason not in", values, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonBetween(String value1, String value2) {
            addCriterion("cancel_reason between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelReasonNotBetween(String value1, String value2) {
            addCriterion("cancel_reason not between", value1, value2, "cancelReason");
            return (Criteria) this;
        }

        public Criteria andCancelExplainIsNull() {
            addCriterion("cancel_explain is null");
            return (Criteria) this;
        }

        public Criteria andCancelExplainIsNotNull() {
            addCriterion("cancel_explain is not null");
            return (Criteria) this;
        }

        public Criteria andCancelExplainEqualTo(String value) {
            addCriterion("cancel_explain =", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainNotEqualTo(String value) {
            addCriterion("cancel_explain <>", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainGreaterThan(String value) {
            addCriterion("cancel_explain >", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainGreaterThanOrEqualTo(String value) {
            addCriterion("cancel_explain >=", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainLessThan(String value) {
            addCriterion("cancel_explain <", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainLessThanOrEqualTo(String value) {
            addCriterion("cancel_explain <=", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainLike(String value) {
            addCriterion("cancel_explain like", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainNotLike(String value) {
            addCriterion("cancel_explain not like", value, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainIn(List<String> values) {
            addCriterion("cancel_explain in", values, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainNotIn(List<String> values) {
            addCriterion("cancel_explain not in", values, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainBetween(String value1, String value2) {
            addCriterion("cancel_explain between", value1, value2, "cancelExplain");
            return (Criteria) this;
        }

        public Criteria andCancelExplainNotBetween(String value1, String value2) {
            addCriterion("cancel_explain not between", value1, value2, "cancelExplain");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}